Today, there a variety of mobile devices that are designed to keep a user updated with current information. For example, there are personal digital assistants, wireless phones, email devices, and the like. While each of these mobile devices may offer somewhat unique information, each of the mobile devices need to synchronize their information at some time with a fixed device (i.e., a synchronization server). The process for updating information is commonly referred to as a synchronization session.
The information that is synchronized may include emails, attachments to emails, web page content, and the like. The information varies in size. For example, some attachments may be quite large (e.g., 2 Mbytes). Thus, during the synchronization session, the large attachment is downloaded over a wireless connection to the mobile device. However, downloading large attachments over a wireless connection may be very expensive and time-consuming. The mobile device incurs a usage charge for the total time that the mobile device is synchronizing with the fixed device over the wireless network. A typical synchronization session may take several minutes. Therefore, there is a need for a mechanism that minimizes the duration of the synchronization session.